1. Technical Field
The present invention is directed generally toward storage systems and, more particularly, to a method, apparatus, and program for migrating between striped storage and parity striped storage.
2. Description of the Related Art
Redundant Array of Independent Disks (RAID) is a disk subsystem that is used to increase performance and/or provide fault tolerance. RAID is a set of two or more ordinary hard disks and a specialized disk controller that contains RAID functionality. RAID can also be implemented via software only, but with less performance, especially when rebuilding data after a failure. RAID improves performance by disk striping, which interleaves bytes or groups of bytes across multiple drives, so more than one disk is reading and writing simultaneously. Fault tolerance is achieved by mirroring or parity.
There are several levels of RAID that are common in current computer systems. RAID level 0 is disk striping only, which interleaves data across multiple disks for better performance. RAID level 1 uses disk mirroring, which provides 100% duplication of data. Offers highest reliability, but doubles storage cost. In RAID level 3, data are striped across three or more drives. This level is used to achieve the highest data transfer, because all drives operate in parallel. Parity bits are stored on separate, dedicated drives. RAID level 5 is perhaps the most widely used. Data are striped across three or more drives for performance, and parity bits are used for fault tolerance. The parity bits from all drives but one are stored on a remaining drive, which alternates among the three or more drives.
Day by day the need for data storage is increasing. This demands the addition of more drives, which leads to migration of the existing volume to a new volume. Migration is conventionally done in two ways. One-way of doing is the Online Capacity Expansion (OCE) and the other way is the RAID Level Migration (RLM). OCE can be defined as the addition of RAID capacity onto new disk drives without power-down or reboot. The existing volumes on the array will remain accessible during the expansion process. RLM allows the user to migrate a RAID volume from one RAID level to another without power-down or reboot. The volumes will remain accessible during the migration process.
Need for RLM arises from the fact that customers are demanding reliable ways to protect large volumes of data stored across an increasing number of disk drives. RAID technology allows a group of disk drives to be “tied” together to act as a single logical disk drive from the operating system perspective, providing increased performance and fault tolerance. For example, one can add a single drive to four previously existing drives, configured as RAID 0 and reconstruct these drives to RAID 5 with no data being lost or corrupted during the migration process. With RAID 1, it is expensive to create large volumes based upon the consumption of disk drives for mirroring so generally we go for RAID 5.
Therefore, it would be advantageous to provide an improved and more efficient mechanism for migrating between stripe storage and redundant parity striped storage.